Shell脚本实战04-扫描网络内存活主机

1. 扫描网络内存活主机

写一个Shell脚本,判断10.0.0.0/24网络里,当前在线的IP有哪些?

2. 问题分析

判断IP在线最常见的方法就是使用ping命令,其实还有一个不错的命令就是nmap,这个nmap命令有可能需要执行这个命令安装yum install nmap -y

3. 参考解答

3.1. 方法1:ping方案

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
CMD="ping -W 2 -c 2"
Ip="10.0.0."
for n in $(seq 254)
do
{
$CMD $Ip$n &> /dev/null
if [ $? -eq 0 ]; then
echo "$Ip$n is ok"
fi
}&
done

提示:这里的Shell并发功能值得注意

3.2. nmap方案

1
2
3
4
5
#!/bin/bash
CMD="nmap -sP "
Ip="10.0.0.0/24"
CMD2="nmap -sS"
$CMD $Ip | awk '/Nmap scan report for/ {print $NF}'
0%